Parkplatzprognose Melbourne CBD

In diesem Projekt wurde eine Anwendung zur Vorhersage der Auslastung von Parkplätzen im zentralen Geschäftsviertel (CBD) von Melbourne entwickelt. Das Ziel der Anwendung ist es, mithilfe von Machine Learning die Verfügbarkeit von Parkplätzen für verschiedene Tageszeiten vorherzusagen. Dies soll Autofahrern helfen, die Parkplatzsuche effizienter zu gestalten. Die Vorhersage in Melbourne diente als Proof-of-Concept, um die generelle Machbarkeit aufzuzeigen.
Datengrundlage #
Die Vorhersage basiert auf einem öffentlichen Datensatz, der über mehrere Jahre hinweg Informationen über die Belegung von Parkplätzen in Melbourne enthält. Für jeden Parkplatz gibt es detaillierte Daten darüber, wann er belegt oder frei war. Diese umfangreiche Historie ermöglichte es, ein robustes Modell zu entwickeln, das Trends in der Parkplatznutzung erkennt und zukünftige Belegungen vorhersagen kann.
Modell: LSTM #
Zur Vorhersage der Parkplatzbelegung wurde ein Long Short-Term Memory (LSTM)-Netzwerk verwendet. Ein LSTM ist besonders geeignet, um zeitliche Abhängigkeiten in Daten zu modellieren, da es vergangene Zustände berücksichtigt. Das Modell wurde auf den historischen Daten trainiert und gibt Vorhersagen über die Parkplatzverfügbarkeit für drei Zeiträume am Tag:
- Vormittag
- Mittag
- Nachmittag
Die Auslastung wird in drei Kategorien eingeteilt:
- Hohe Auslastung
- Mittlere Auslastung
- Geringe Auslastung
Diese Kategorien helfen Nutzern, besser abzuschätzen, wie wahrscheinlich es ist, einen Parkplatz zu finden.
Web-Frontend #
Die Vorhersageergebnisse werden in einem benutzerfreundlichen Web-Frontend angezeigt. Das Frontend wurde mit einer Leaflet Kartenansicht ausgestattet, die die Parkplätze in Melbourne CBD visualisiert. Wenn ein Parkplatz ausgewählt wird, zeigt die Anwendung die Auslastung des gewählten Parkplatzes für die Tageszeiten (Vormittag, Mittag, Nachmittag) an. Die Auslastung selbst wird dann farblich hervorgehoben:
- Rot: Hohe Auslastung
- Gelb: Mittlere Auslastung
- Grün: Geringe Auslastung
Nutzer können auf einer Zeitlinie zwischen den Tagen wechseln, um die Vorhersagen für den jeweilige Tage zu sehen.
Backend #
Das Backend wurde mit Django in Python entwickelt, um die Vorhersageergebnisse effizient zu verarbeiten und an das Frontend zu übermitteln.
Das Backend kommunizierte mit dem bereitgestellten Vorhersagemodell via Kafka. Neue Vorhersageergebnisse werden so automatisch aufgenommen und ans Frontend kommuniziert. Für die direkte Verbindung zum Client wurden Server-Sent-Events (SSE) eingesetzt, um eine Echtzeitkommunikation zu gewährleisten. Dadurch wird sichergestellt, dass die Vorhersagen direkt im Frontend aktualisiert werden, ohne dass die Webseite neu geladen werden muss.
Fazit #
Die entwickelte Anwendung bietet eine effektive Lösung, um die Auslastung von Parkplätzen in Melbourne CBD vorherzusagen. Durch die Nutzung eines LSTM-Modells, eine klare visuelle Darstellung in der Leaflet-Kartenansicht und die Echtzeitkommunikation über Kafka und Server-Sent-Events wird die Parkplatzsuche erheblich erleichtert. Autofahrer können die Parkplatzverfügbarkeit in Echtzeit einsehen und ihre Planung entsprechend anpassen.
Tätigkeiten #
- Unterstützung bei der Entwicklung des LSTM-Netzwerkes zur Vorhersage der Parkplatzauslastung
- Implementierung eines Web-Frontends, zur Visualisierung von Vorhersagen, mittels Vue.js, Vuetify, Django und Leaflet
- Implementierung von Server-Sent-Events zur kontinuierlichen Benachrichtigung des Clients über neue Vorhersagen
- Implementierung eines Python-Kafka-Clients zum Versenden und Auslesen von Kafka-Messages